package com.dkd.music.service.impl;

import com.dkd.common.utils.DateUtils;
import com.dkd.music.domain.Album;
import com.dkd.music.mapper.AlbumMapper;
import com.dkd.music.service.IAlbumService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 专辑Service业务层处理
 * 
 * @author grz
 * @date 2025-10-25
 */
@Service
public class AlbumServiceImpl implements IAlbumService 
{
    @Autowired
    private AlbumMapper albumMapper;

    /**
     * 查询专辑
     * 
     * @param albumId 专辑主键
     * @return 专辑
     */
    @Override
    public Album selectAlbumByAlbumId(Long albumId)
    {
        return albumMapper.selectAlbumByAlbumId(albumId);
    }

    /**
     * 查询专辑列表
     * 
     * @param album 专辑
     * @return 专辑
     */
    @Override
    public List<Album> selectAlbumList(Album album)
    {
        return albumMapper.selectAlbumList(album);
    }

    /**
     * 新增专辑
     * 
     * @param album 专辑
     * @return 结果
     */
    @Override
    public int insertAlbum(Album album)
    {
        album.setCreateTime(DateUtils.getNowDate());
        return albumMapper.insertAlbum(album);
    }

    /**
     * 修改专辑
     * 
     * @param album 专辑
     * @return 结果
     */
    @Override
    public int updateAlbum(Album album)
    {
        album.setUpdateTime(DateUtils.getNowDate());
        return albumMapper.updateAlbum(album);
    }

    /**
     * 批量删除专辑
     * 
     * @param albumIds 需要删除的专辑主键
     * @return 结果
     */
    @Override
    public int deleteAlbumByAlbumIds(Long[] albumIds)
    {
        return albumMapper.deleteAlbumByAlbumIds(albumIds);
    }

    /**
     * 删除专辑信息
     * 
     * @param albumId 专辑主键
     * @return 结果
     */
    @Override
    public int deleteAlbumByAlbumId(Long albumId)
    {
        return albumMapper.deleteAlbumByAlbumId(albumId);
    }
}
